草庐IT

java - 访问请求 header

全部标签

ruby - 为什么我们不能在 rescue 中访问局部变量?

局部变量begintransaction#Codeinsidetransactionobject=Class.newattributesraiseunlessobject.save!endrescueputsobject.error.full_messages#Whycan'tweuselocalvaribleinsiderescue?end实例变量begintransaction#Codeinsidetransaction@object=Class.newattributesraiseunless@object.save!endrescueputs@object.error.full

ruby - Ruby 中的方法访问

为什么Ruby允许类隐式访问类外部的方法?例子:classCandydeflandhomerendenddefhomerputs"Hello"endCandy.new.land#OutputsHello 最佳答案 “homer”方法的定义是将方法添加到Object类中。它没有定义自由函数。Candy类隐式继承自Object,因此可以访问Object中的方法。当你在“land”方法中调用“homer”时,方法解析在当前类中找不到定义,去父类(superclass)中,找到你添加到Object中的方法,并调用它。

ruby - 从 Sinatra 访问 header

我正在尝试访问sinatra过滤器中的header。我的请求包含header“HTTP_AUTH”,但我无法访问它。我的过滤器是beforedohalt403unlessrequest['HTTP_AUTH']=='test'end根据我的机架测试,它工作正常。browser.get'/mypath',"CONTENT_TYPE"=>"application/json","HTTP_AUTH"=>'test'但是当我尝试从其他来源访问时,我无法访问它。如果我putsrequest.env我可以看到token在请求中,但我无法访问它。"HTTP_CONNECTION"=>"close",

ruby-on-rails - 使用 Rails 4 和结构化日志记录,如何将请求 ID 字段添加到日志中?

我正在向Rails4应用程序添加结构化日志记录。使用lograge和logstash-logger如thisarticle中所述,我的东西大部分都在工作。我在向日志添加请求ID时遇到问题。我发现最接近的是将其添加到config/${ENV}.rb:config.log_tags=[:uuid]但这会将请求ID添加到标签列表中,而不是将其添加为命名字段。{"tags":["da76b4be-01ae-4cc4-8d3c-87062ea02cfe"],"host":"services","severity":"DEBUG","@version":"1","@timestamp":"2016

ruby - 扩展模块和类变量访问?

我无法理解为什么在以下示例中访问模​​block的类变量失败:moduleM@@xyz=123endM.class_variables#[:@@xyz]M.class_variable_get:@@xyz#123,sofarsogoodclassCextendMendC.singleton_class.class_variables#[:@@xyz]C.singleton_class.class_variable_get:@@xyz#NameError:#uninitializedclassvariable@@xyzinClass谁能解释为什么类变量@@xyz在C的单例类中突然无法访问

ruby-on-rails - 请求规范中的 stub 身份验证

我正在寻找做this的方法但在要求规范。我需要登录和注销double或instance_double来设计而不是实际的ActiveModel/ActiveRecord。通过使用wiki页面中的代码:moduleRequestSpecHelpersdefsign_in(user=double('user'))ifuser.nil?allow(request.env['warden']).toreceive(:authenticate!).and_throw(:warden,{:scope=>:user})allow(controller).toreceive(:current_user)

ruby-on-rails - 通过 Ruby 的 HTTP post 请求

我是ruby​​的新手,正在尝试一些基本的东西。当我使用以下命令向服务器发送HTTP请求时:curl-v-H"Content-Type:application/json"-XGET-d"{"myrequest":"myTest","reqid":"44","data":{"name":"test"}}"localhost:8099我的服务器将JSON数据视为"{myrequest:myTest,reqid:44,data:{name:test}}"但是当我使用以下ruby​​代码发送请求时:require'net/http'@host='localhost'@port='8099'@p

ruby-on-rails - Rails 上的 Pubsubhubbub。如何从 POST 请求中提取原始 POST 正文内容?

我在使用Rails设置支持pubsub的订阅者应用程序时遇到问题。我目前已经订阅了开放式集线器pubsubhubbub.appspot.com,并且正在接收到我的应用程序端点的ping。(截至目前,我已经创建了一个计数器,每次对端点执行ping操作时该计数器都会递增)。但我无法理解如何从POST中提取原始POST正文内容。我是pubsub的新手,很想尝试一下。我看到了这篇博文,但它不是特定于语言的。资料来源:JosephSmarr:实现PubSubHubbub订户支持:分步指南。http://josephsmarr.com/2010/03/01/implementing-pubsubh

ruby-on-rails - 带有 HTTP header 的 redirect_to

不确定这是否可行或是否有意义,但我正在尝试在设置HTTPheader字段后进行重定向。像这样的东西:request.headers['Accept']='application/json'redirect_tourl显然这不起作用,因为request是当前请求,而不是重定向。有什么方法可以使用自定义HTTPheader调用redirect_to吗? 最佳答案 无论您使用何种语言或框架,都不可能重定向到设置了自定义header的页面。换句话说,无法触发HTTP重定向并导致客户端(浏览器)添加自定义header。正如您自己提到的,您正在

ruby - 如何在请求范围之外访问 Sinatra 的记录器

似乎Sinatra的记录器只能在请求处理程序中使用(参见https://github.com/sinatra/sinatra#logging),但是如果我想在其他地方使用记录器怎么办,例如在辅助方法或配置Hook中?Sinatra记录器是否可以通过其他方式使用? 最佳答案 Thedocs给出一些关于范围的示例,但是您可以在helperblock中定义的方法中看到logger帮助程序,因为帮助程序block具有Application范围。在configure中它不可用,但我倾向于做的是设置我自己的日志记录,在rackup文件中作为常量